package com.glink.manage.domain;

import com.baomidou.mybatisplus.annotation.FieldFill;
import com.baomidou.mybatisplus.annotation.TableField;
import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableName;
import com.baomidou.mybatisplus.extension.activerecord.Model;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.AllArgsConstructor;
import lombok.Data;
import lombok.EqualsAndHashCode;
import lombok.NoArgsConstructor;

import java.util.Date;

/**
 * Created by IntelliJ IDEA.
 * 车辆道闸-结果上报
 * @Author : qiushaoshan
 * @create 2025/2/8 14:40
 */
@EqualsAndHashCode(callSuper = true)
@ApiModel(value = "vehicle_transit_record对象", description = "车辆和特种设备进出记录")
@Data
@AllArgsConstructor
@NoArgsConstructor
@TableName("vehicle_transit_record")
public class VehicleTransitRecordBean extends Model<UserThirdPartyBean>  {

    private static final long serialVersionUID = 2855686003708917707L;

    @ApiModelProperty(value = "车辆和特征设备主键ID")
    @TableId
    private String objId;

    @ApiModelProperty(value = "设备ID")
    private String barriersObjId;

    @ApiModelProperty(value = "设备号")
    private String devSno;

    @ApiModelProperty(value = "工程ID")
    private String constructionWorkObjId;

    @ApiModelProperty(value = "现场ID")
    private String constructionWorkSiteObjId;
    
    @ApiModelProperty(value = "车牌号（唯一）")
    private String licensePlate;

    @ApiModelProperty(value = "车主")
    private String owner;

    @ApiModelProperty(value = "所属单位")
    private String organization;

    @ApiModelProperty(value = "类型")
    private String type;

    @ApiModelProperty(value = "识别上传时的UTC时间")
    private Long utcTs;

    @ApiModelProperty(value = "识别上成员的本地时间")
    private Date localTime;
    
    @ApiModelProperty(name = "carInout", notes = "出入口类型，in 表示入口，out 表示出口")
    private String carInout;

    @ApiModelProperty(name = "vehicleType", notes = "车辆类型，UTF8 编码  {\"未知大小\", \"大型车\", \"中型车\", \"小型车\", \"摩托车\", \"行人\"}")
    private String vehicleType;

    @ApiModelProperty(name = "carLogo", notes = "车辆品牌，UTF8 编码 ，{\"丰田\",\"大众\",\"本田\",\"标志\",\"现代\",\"别克\",\"奥迪\",\"起亚\",\"吉普\",\"福特\",\"奔驰\",\"宝马\",\"马自达\",\"铃木\",\"铁雪龙\",\"尼桑\",\"三菱\",\"雷克萨斯\",\"雪佛兰\",\"沃尔沃\",\"菲亚特\",\"比亚迪\",\"奇瑞\"} ")
    private String carLogo;

    @ApiModelProperty(name = "carColor", notes = "车辆颜色，UTF8 编码 {\"未知色\", \"黑色\", \"白色\", \"深红色\", \"红色\", \"深黄色\", \"黄色\", \"深灰色\", \"灰色\", \"深蓝色\", \"蓝色\", \"深绿色\", \"绿色\",\"深粉色\", \"粉色\", \"深棕色\", \"棕色\", \"深紫色\", \"紫色\"}")
    private String carColor;

    @ApiModelProperty(name = "plateColor", notes = "车牌底色，UTF8 编码{\"未知色\", \"蓝色\", \"黄色\", \"白色\", \"黑色\", \"绿色\", \"黄绿色\"}")
    private String plateColor;

    @ApiModelProperty(name = "plateVal", notes = "虚假车牌信息，1 表示真牌，0 表示虚假车牌")
    private String plateVal;

    @ApiModelProperty(name = "plateEncryptionState", notes = "车牌加密状态，0：未加密 1:加密")
    private String plateEncryptionState;
    
    @ApiModelProperty(name = "resultType", notes = "结果类型。online 表示正常在线传输结果，offline 表示断网续传结果")
    private String resultType;

    @ApiModelProperty(value = "创建时间")
    @TableField(fill = FieldFill.INSERT)
    private Date createTime; 

    @ApiModelProperty(value = "创建人")
    @TableField(fill = FieldFill.INSERT)
    private String createUser;
    
}
